package ${clazz.pkgName};

<#list clazz.imports as i>
import ${i};
</#list>

/**
 * @author ${clazz.author}
 * @date ${clazz.date}
 */
<#list clazz.anns as ann>
@${ann}
</#list>
public class ${clazz.className} <#if clazz.impls?size gt 0>implements <#list clazz.impls as impl>${impl}</#list></#if>{
<#list clazz.fields as field>

    <#list field.anns as ann>
    @${ann}
    </#list>
    private ${field.lx} ${field.name};
</#list>
<#list clazz.methods as method>

    <#list method.anns as ann>
    @${ann}
    </#list>
    public ${method.returnType!'void'} ${method.name}(<#list method.paramAnns as ann>@${ann} </#list><#if method.paramType??>${method.paramType} inputDTO</#if>) {
        // todo 实现接口 ${method.name}
    <#if method.ywmsList??>
        /*
        <#list method.ywmsList as ywms>
        ${ywms}
        </#list>
        */
    </#if>
    <#if method.returnType??>
        return null;
    </#if>
    }
</#list>

<#list clazz.clazzes as childClazz>

    <#list childClazz.anns as ann>
    @${ann}
    </#list>
    public static class ${childClazz.className} {
    <#list childClazz.fields as field>

        <#list field.anns as ann>
        @${ann}
        </#list>
        private ${field.lx} ${field.name};
    </#list>
    }
</#list>
}
